# coding:utf-8

import numpy as np
import matplotlib.pyplot as plt
import get_variable

#行数  拟合数据时行数需相同
line_cnt = 11417
x = list(range(1,line_cnt))#x轴
hongwai = get_variable.get_sensor_data('hongwai.txt')#红外数据
kejianguang = get_variable.get_sensor_data('kejianguang.txt')#可见光管数据
shuzi = get_variable.get_sensor_data('shuzichuanganqi.txt')#数字传感器数据

#转成数组
x =np.array(x)
hongwai = np.array(hongwai)
kejianguang = np.array(kejianguang)
shuzi = np.array(shuzi)

#print x ,hongwai ,kejianguang

#拟合曲线
z1 = np.polyfit(hongwai, kejianguang, 1)#返回多项式系数  #3参数为多项式次数
p1 = np.poly1d(z1)#将系数代入方程，得到函式p1

z2= np.polyfit(kejianguang, shuzi, 1)#返回多项式系数  #3参数为多项式次数
p2 = np.poly1d(z2)#将系数代入方程，得到函式p1

z3 = np.polyfit(hongwai ,shuzi,1)
p3 = np.poly1d(z3)

print(p1)
print(p2)
print(p3)

# 也可使用yvals=np.polyval(f1, x)
yvals_1 = p1(hongwai) # 红外 拟合至 可见光
yvals_2 = p2(kejianguang) #可见光  拟合至 数字传感器
yvals_3 = p3(hongwai)#红外 拟合 至 数字

# 绘图
# plot1 = plt.plot(x, kejianguang, 'g', label='vl')
# plot2 = plt.plot(x, yvals_1, 'r', label='ir_vl') # 红外 拟合至 可见光


# plot3 = plt.plot(x, shuzi, 'g', label='lux')
# plot4 = plt.plot(x, yvals_2, 'b', label='vl_lux')#可见光  拟合至 数字传感器

plot4 = plt.plot(x, shuzi, 'g', label='lux')
plot5 = plt.plot(x, yvals_3, 'y', label='ir_lux')

plt.xlabel('x')
plt.ylabel('y')
plt.legend(loc=3)  # 指定legend的位置
plt.title('quxiannihe')
plt.show()




